The Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications. RDF is used as a general method for conceptual description or modeling of information that is implemented in web resources. RDF includes a variety of syntax formats. The RDF data model is largely based upon the idea of making statements about resources (in particular web resources) in the form of subject-predicate-object constructs. These constructs are known as “triples.” The subject denotes the resource. The predicate denotes traits, or aspects, of the resource and expresses a relationship between the subject and the object. RDF is an abstract model with several serialization formats (that is, file formats), and so the particular way in which a resource or triple is encoded varies from format to format. A collection of RDF statements intrinsically represents a labeled, directed multi-graph. For this reason, RDF is more suitable for representing certain kinds of knowledge than a relational model and/or other ontological models. Additional ontology languages can be built upon RDF.
Data is often described using RDF graphs. The structure of an RDF graph is commonly described using OWL (Web Ontology Language) and/or RDFS, which is itself described using RDF. RDF graphs that conform to a given specification are created by appropriate tooling. In some cases, an existing non-RDF based system is “captured” into RDF using: (i) adaptors; and (ii) a reciprocal requirement of converting these RDF graphs back into the original form. In this way, analysis can be performed using RDF tools. In some older systems, the system does not understand RDF, and therefore must convert RDF representation back into text in order to use it.
SPARQL is an RDF query language, that is, a query language for databases. SPARQL queries retrieve and manipulate data stored in RDF format. SPARQL queries may include: (i) triple patterns; (ii) conjunctions; (iii) disjunctions; and/or (iv) optional patterns. Implementations for multiple programming languages exist. Some tools translate SPARQL queries to other query languages, for example SQL, XQuery, etc. SPARQL queries generally are unambiguous. In a federated SPARQL query, a SPARQL query is distributed to multiple SPARQL endpoints so that multiple responses can be received and aggregated. SPARQL includes four different query variations for different purposes as follows: (i) SELECT query, used to extract raw values from a SPARQL endpoint, the results are returned in a table format; (ii) CONSTRUCT query, used to extract information from the SPARQL endpoint and transform the results into RDF format; (iii) ASK query, used to provide a simple True/False result for a query; and (iv) DESCRIBE query, used to extract an RDF graph from the SPARQL endpoint. WHERE blocks are often used in these four query forms in order to restrict the query.